package studentinformationmanagementsystem.service;

import studentinformationmanagementsystem.entity.Classandgrade;
import studentinformationmanagementsystem.entity.Page;
import studentinformationmanagementsystem.entity.Student;
import studentinformationmanagementsystem.entity.Teacher;

import java.util.List;

/**
 * @author 苗庆
 * @version 1.0
 */
public interface ClassandgradeService {


    /**
     * 添加班级信息
     *
     * @param classandgrade
     */
    int register(Classandgrade classandgrade);


    /**
     *  根据ID更新班级信息
     * @param classandgrade  班级对象
     * @return 受影响的记录行数
     */
    int update(Classandgrade classandgrade);


    /**
     *  根据ID删除班级
     * @param classandgrade 班级ID
     * @return 受影响的记录行数
     */
    int delete(Classandgrade classandgrade);

    /**
     * 查询所有班级信息
     * @return 所有班级信息
     */
    List<Classandgrade> queryAll();


    /**
     * 根据班级ID查询班级信息
     * @param classandgrade 班级ID
     * @return 班级信息
     */
    Classandgrade queryById(Classandgrade classandgrade);


    /**
     * 分页查询
     * @param pageNo  查询页码
     * @param pageSize  每页的记录数
     * @return
     */
    Page<Classandgrade> page(int pageNo, int pageSize);


    /**
     * 检查班级名称是否已存在
     * @param classandgrade
     * @return true 班级名称已存在
     */
    boolean isExistsClassandgradeNname(Classandgrade classandgrade);

    /**
     * 根据班级名称查询班级信息
     * @param classandgrade
     * @return 班级对象
     */
    Classandgrade  queryName(Classandgrade classandgrade);


    /**
     * 根据学生的个人信息获取对应的班级信息
     * @param student
     * @return
     */
    List<Object>  getClass(Student student);
}
